package cn.iocoder.yudao.module.crossborder.order.dal.dataobject.orderitem;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 跨境电商订单明细 DO
 *
 * @author 芋道源码
 */
@TableName("crossborder_order_item")
@KeySequence("crossborder_order_item_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class OrderItemDO extends BaseDO {

    /**
     * 订单项编号
     */
    @TableId
    private Long id;
    /**
     * 订单编号
     */
    private Long orderId;
    /**
     * 订单号
     */
    private String orderNo;
    /**
     * 行号
     */
    private Integer lineNo;
    /**
     * SPU编号
     */
    private Long spuId;
    /**
     * SKU编号
     */
    private Long skuId;
    /**
     * SKU编码
     */
    private String skuCode;
    /**
     * 商品名称
     */
    private String productName;
    /**
     * 英文商品名称
     */
    private String productNameEn;
    /**
     * 商品图片
     */
    private String productImage;
    /**
     * 品牌名称
     */
    private String brandName;
    /**
     * 分类名称
     */
    private String categoryName;
    /**
     * 规格值JSON
     */
    private String specValues;
    /**
     * 条形码
     */
    private String barcode;
    /**
     * UPC码
     */
    private String upcCode;
    /**
     * HS编码
     */
    private String hsCode;
    /**
     * 原产国代码
     */
    private String originCountry;
    /**
     * 购买数量
     */
    private BigDecimal quantity;
    /**
     * 单价
     */
    private BigDecimal unitPrice;
    /**
     * 总价
     */
    private BigDecimal totalPrice;
    /**
     * 货币代码
     */
    private String currencyCode;
    /**
     * 折扣金额
     */
    private BigDecimal discountAmount;
    /**
     * 优惠券金额
     */
    private BigDecimal couponAmount;
    /**
     * 最终价格
     */
    private BigDecimal finalPrice;
    /**
     * 重量（kg）
     */
    private BigDecimal weight;
    /**
     * 长度（cm）
     */
    private BigDecimal length;
    /**
     * 宽度（cm）
     */
    private BigDecimal width;
    /**
     * 高度（cm）
     */
    private BigDecimal height;
    /**
     * 体积（立方米）
     */
    private BigDecimal volume;
    /**
     * 成本价
     */
    private BigDecimal costPrice;
    /**
     * 利润金额
     */
    private BigDecimal profitAmount;
    /**
     * 利润率
     */
    private BigDecimal profitRate;
    /**
     * 税率
     */
    private BigDecimal taxRate;
    /**
     * 税费
     */
    private BigDecimal taxAmount;
    /**
     * 保修期（天）
     */
    private Integer warrantyPeriod;
    /**
     * 是否礼品
     */
    private Boolean isGift;
    /**
     * 礼品留言
     */
    private String giftMessage;
    /**
     * 是否定制商品
     */
    private Boolean isCustomized;
    /**
     * 定制信息JSON
     */
    private String customizationInfo;
    /**
     * 发货截止时间
     */
    private LocalDateTime deliveryDeadline;
    /**
     * 预计送达日期
     */
    private LocalDate expectedDeliveryDate;
    /**
     * 履约状态（10待处理 20已分配 30拣货中 40已拣货 50已打包 60已发货 70已送达）
     */
    private Integer fulfillmentStatus;
    /**
     * 分配仓库编号
     */
    private Long allocatedWarehouseId;
    /**
     * 已分配数量
     */
    private BigDecimal allocatedQuantity;
    /**
     * 已拣货数量
     */
    private BigDecimal pickedQuantity;
    /**
     * 已发货数量
     */
    private BigDecimal shippedQuantity;
    /**
     * 已送达数量
     */
    private BigDecimal deliveredQuantity;
    /**
     * 已退货数量
     */
    private BigDecimal returnedQuantity;
    /**
     * 已退款数量
     */
    private BigDecimal refundedQuantity;
    /**
     * 取消原因
     */
    private String cancelReason;
    /**
     * 备注
     */
    private String remark;


}
